import Konva from "konva";
import { SlideAnimationEnum } from "../Enumerate/SlideAnimation";
import { ShapeAnimationEnum } from "../Enumerate/ShapeAnimation";

// 单击时、与上一个动画同时触发、上一个动画结束后触发
export type AnimationTime = "click" | "together" | "after";

// 配置动画 - layer 切换
export interface ISlideAnimation {
  global?: boolean; // 是否应用全部
  name: SlideAnimationEnum; // 动画名称
  duration?: number; // 动画时长
  delay?: number; // 动画延迟
  easing?: string; // 动画曲线
}

// 配置动画 - Konva Tween
export interface IShapeAnimation {
  ID: string; // 动画 ID
  node: Konva.Node; // 应用动画的节点
  name: ShapeAnimationEnum; // 动画名称
  order: number; // 动画顺序
  nodeID?: string;
  duration?: number; // 动画时长
  delay?: number; // 动画延迟
  easing?: string; // 动画曲线
  time?: AnimationTime; // 何时触发 - 单击时、与上一个动画同时触发、上一个动画结束后触发
}
